home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat1 / ioconfig.z / ioconfig
Encoding:
Text File  |  1998-10-20  |  9.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. iiiiooooccccoooonnnnffffiiiigggg((((1111MMMM))))                                                      iiiiooooccccoooonnnnffffiiiigggg((((1111MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ioconfig - configure I/O devices
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      iiiiooooccccoooonnnnffffiiiigggg [----dddd]  ----ffff starting_directory
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      _i_o_c_o_n_f_i_g assigns logical controller numbers to all devices in the I/O
  16.      subsystem.  It is run as a part of the /_e_t_c/_b_c_h_e_c_k_r_c startup script.
  17.      _i_o_c_o_n_f_i_g walks the /_h_w hardware graph tree and assigns a unique and
  18.      persistent logical controller number to each physical device found.
  19.  
  20.      The options are:
  21.  
  22.      ----dddd   Enable debugging messages.
  23.  
  24.      ----ffff _s_t_a_r_t_i_n_g__d_i_r_e_c_t_o_r_y
  25.           Specify the root of the hardware graph tree.
  26.  
  27.      _i_o_c_o_n_f_i_g attempts to match each device found as it walks the /_h_w hardware
  28.      graph tree with an entry in /_e_t_c/_i_o_c_o_n_f_i_g._c_o_n_f.  For each device found,
  29.      if there is a match, _i_o_c_o_n_f_i_g assigns the logical controller number
  30.      specified for the device in /_e_t_c/_i_o_c_o_n_f_i_g._c_o_n_f to the device.  If there
  31.      is no match, _i_o_c_o_n_f_i_g assigns a logical controller number.  This logical
  32.      controller number is the next number that is available to devices in that
  33.      class of device.  (Device classes include SCSI, tty, and the various
  34.      network devices among others.)  The assigned logical controller number
  35.      and the device are added to /_e_t_c/_i_o_c_o_n_f_i_g._c_o_n_f.  The format of an entry
  36.      in /_e_t_c/_i_o_c_o_n_f_i_g._c_o_n_f is:
  37.  
  38.           _<<<<_llll_oooo_gggg_iiii_cccc_aaaa_llll _cccc_oooo_nnnn_tttt_rrrr_oooo_llll_llll_eeee_rrrr _nnnn_uuuu_mmmm_bbbb_eeee_rrrr_>>>> _<<<<_cccc_aaaa_nnnn_oooo_nnnn_iiii_cccc_aaaa_llll _nnnn_aaaa_mmmm_eeee _oooo_ffff _tttt_hhhh_eeee _pppp_hhhh_yyyy_ssss_iiii_cccc_aaaa_llll _dddd_eeee_vvvv_iiii_cccc_eeee_>>>>
  39.  
  40.      Some examples are:
  41.  
  42.           1 /hw/module/2/slot/n1/node/xtalk/0/pci/2/ef
  43.           3 /hw/module/2/slot/n1/node/xtalk/0/pci/1/scsi_ctlr/0
  44.           3 /hw/module/2/slot/n1/node/xtalk/0/pci/3/tty/1
  45.  
  46.      In this example a tty controller and a SCSI controller have the same
  47.      logical number.  This is possible because they are in different classes.
  48.      Within each class, each physical device has a unique logical controller
  49.      number.  These logical controller numbers are not unique across all
  50.      classes.
  51.  
  52.      Because controller numbers, once allocated, are persistent across reboots
  53.      and physical hardware configuration changes, adding a new device or
  54.      removing an existing device does not effect the assigned controller
  55.      number of other devices.  Editing or removing /_e_t_c/_i_o_c_o_n_f_i_g._c_o_n_f erases
  56.      controller numbering history and results in a reallocation of controller
  57.      numbers for all devices found.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiiooooccccoooonnnnffffiiiigggg((((1111MMMM))))                                                      iiiiooooccccoooonnnnffffiiiigggg((((1111MMMM))))
  71.  
  72.  
  73.  
  74.      _i_o_c_o_n_f_i_g reads permissions from /_e_t_c/_i_o_p_e_r_m_s to set the ownership and
  75.      permissions for I/O devices.  This is done after the devices have been
  76.      assigned their logical numbers.  Comment lines begin with the character ####
  77.      and the wild card characters **** are allowed in the device names.  The
  78.      format of an entry for a device in the permissions file is:
  79.  
  80.           _<<<<_dddd_eeee_vvvv_iiii_cccc_eeee______nnnn_aaaa_mmmm_eeee_>>>> _<<<<_pppp_eeee_rrrr_mmmm_iiii_ssss_ssss_iiii_oooo_nnnn_ssss_>>>> _<<<<_oooo_wwww_nnnn_eeee_rrrr______nnnn_aaaa_mmmm_eeee_>>>> _<<<<_gggg_rrrr_oooo_uuuu_pppp______nnnn_aaaa_mmmm_eeee_>>>>
  81.  
  82.      Some examples are:
  83.  
  84.           /dev/console 0644 root sys
  85.           /dev/input/* 0644 root sys
  86.  
  87.  
  88.      _I_o_c_o_n_f_i_g scans /_v_a_r/_s_y_s_g_e_n/_i_o_c_o_n_f_i_g directory to check for any device
  89.      specific files.  Comment lines in these files start with a pound
  90.      character.  Format of an entry of these files is:
  91.  
  92.           _<<<<_cccc_llll_aaaa_ssss_ssss_>>>> _<<<<_tttt_yyyy_pppp_eeee_>>>> _<<<<_ssss_tttt_aaaa_tttt_eeee_>>>> _<<<<_gggg_eeee_nnnn_eeee_rrrr_iiii_cccc_>>>> _<<<<_ssss_uuuu_ffff_ffff_iiii_xxxx_>>>> _<<<<_pppp_aaaa_tttt_tttt_eeee_rrrr_nnnn_>>>> _<<<<_ssss_tttt_aaaa_rrrr_tttt______nnnn_uuuu_mmmm_>>>> _<<<<_iiii_oooo_cccc_tttt_llll______nnnn_uuuu_mmmm_>>>>
  93.  
  94.      Some examples are:
  95.  
  96.           #1. Entry for tty device
  97.           #
  98.           #   INV_SERIAL      INV_IOC3_DMA   IGNORE      "d"     "tty"     2   SIOC_MKHWG
  99.           #                                     ('z' << 8 | 15)
  100.                4    16        -1      d      tty       2   0x7a05
  101.  
  102.  
  103.           #2. Entry for mouse device
  104.           #
  105.           #   INV_MISC    INV_MISC_PCKM    MS       IGNORE  IGNORE  2        IGNORE
  106.           #
  107.                     14       1               0          -1      -1    2       -1
  108.  
  109.  
  110.           <type>    can be -1 if the <class> itself is enough to uniquely
  111.                     identify the device
  112.           <state>   can be -1 if <class> & <type> uniquely identify the device
  113.           <suffix>  can be -1 in which case ioconfig ignores it
  114.           <pattern> can be -1 in which case ioconfig takes the basename of the
  115.                     canonical name of the device that it is looking at
  116.           <ioctl>   can be -1 in which case ioconfig doesnot make the devicedriver
  117.                     specific ioctl
  118.  
  119.  
  120.      For a particular device the more generic entries should appear first in
  121.      the corresponding device file.
  122.  
  123.           Eg:- For a network device consider the entries
  124.                <class>        <type>         <state>
  125.           <e1> INV_NETWORK    IGNORE         IGNORE    .......
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiiooooccccoooonnnnffffiiiigggg((((1111MMMM))))                                                      iiiiooooccccoooonnnnffffiiiigggg((((1111MMMM))))
  137.  
  138.  
  139.  
  140.           <e2> INV_NETWORK    INV_ETHER_EF   IGNORE    .......
  141.  
  142.  
  143.      Since <e2> is more specific than <e1> in the sense that <type> is also
  144.      specified <e1> MUST appear before <e2> for <e2> to have any effect.
  145.  
  146. EEEERRRRRRRROOOORRRR MMMMEEEESSSSSSSSAAAAGGGGEEEESSSS
  147.      PPPPeeeerrrrssssiiiisssstttteeeennnntttt ccccttttllllrrrr nnnnuuuummmm ((((####1111)))) ddddiiiiffffffffeeeerrrreeeennnntttt ffffrrrroooommmm hhhhwwwwggggrrrraaaapppphhhh ccccttttllllrrrr nnnnuuuummmm ((((####2222)))) ffffoooorrrr <<<<hhhhwwwwgggg____nnnnaaaammmmeeee>>>>
  148.                           The recommended action in this case is to REMOVE the
  149.                           line corresponding to  <hwg_name>  from
  150.                           _e_t_c/_i_o_c_o_n_f_i_g._c_o_n_f  file.
  151. FFFFIIIILLLLEEEESSSS
  152.      /etc/ioconfig.conf   maps logical controller numbers to canonical device
  153.                           names
  154.      /etc/ioperms         specifies permissions, owner, and group for devices
  155.      /var/sysgen/ioconfig each device file in this directory specifies the
  156.                           ioconfig policy for that device
  157.  
  158. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  159.      hwgraph(4), basename(1).
  160.  
  161. NNNNOOOOTTTTEEEE
  162.      If a disk is not properly initialized at the time of running _i_o_c_o_n_f_i_g,
  163.      only /_d_e_v/_r_d_s_k/_d_k_s*{_v_o_l,_v_h} device special files are created for that
  164.      disk.  This is because _i_o_c_o_n_f_i_g fails when it opens the volume and finds
  165.      that the volume header is not valid.  If this disk is repartitioned using
  166.      _f_x, all the proper partition device special files and aliases in /_d_e_v/_d_s_k
  167.      and /_d_e_v/_r_d_s_k are created for that disk.
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.